Scent Schedule Based on Relatedness of Scent Delivery Devices in a Scent Delivery System

ABSTRACT

A scent delivery system includes first and second scent delivery units and a central controller. The central controller is configured to generate command data capable of affecting operation of at least the first and second units based on one or more scenting schedules. The central controller is also configured to determine a relatedness and an order of priority between the units, and determine whether a desired activation time for the first unit overlaps at least partially with a desired activation time for the second unit. Based upon a determination that the first unit is related to the second unit and that a desired activation time for the first unit overlaps at least partially with a desired activation time for the second unit, the central controller is further configured to coordinate activity level of each of the first and second delivery units during the overlapping activation time according to the order of priority.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation U.S. application Ser. No. 16/126,075filed Sep. 10, 2018, titled “SCENT SCHEDULE BASED ON RELATEDNESS OFSCENT DELIVERY DEVICES IN A SCENT DELIVERY SYSTEM,” which is acontinuation application of U.S. application Ser. No. 15/243,509, filedAug. 22, 2016, now U.S. Pat. No. 10,073,430, titled “SCENT SCHEDULEBASED ON RELATEDNESS OF SCENT DELIVERY DEVICES IN A SCENT DELIVERYSYSTEM,” which is a continuation of U.S. application Ser. No.13/939,159, filed Jul. 10, 2013, now U.S. Pat. No. 9,446,162, titled“SCENT SCHEDULE BASED ON RELATEDNESS OF SCENT DELIVERY DEVICES IN ASCENT DELIVERY SYSTEM,” the disclosures of each of which are herebyincorporated by reference in their entirety for all purposes.

This application is related to U.S. application Ser. No. 15/284,086,filed Oct. 3, 2016, titled “SCENT DELIVERY SYSTEM SCHEDULING,” U.S.patent application Ser. No. 13/939,159, filed Jul. 10, 2013, titled“SCENT SCHEDULE BASED ON RELATEDNESS OF SCENT DELIVERY DEVICES IN ASCENT DELIVERY SYSTEM,” and U.S. patent application Ser. No. 13/939,162,filed Jul. 10, 2013, titled “BIAS SETTING IN A SCENT DELIVERY SYSTEM,”the disclosures of each of which are hereby incorporated by reference intheir entirety for all purposes.

TECHNICAL FIELD

This document describes a scent delivery system that enables scentdelivery machines to be designated as related to each other for purposesof managing conflicting scheduled scent events.

BACKGROUND

Products can be developed to deliver scents or aromas in commercial oroffice environments, such as in a hotel or a retail setting. The scentscan improve a customer's perception of the environment and can helpinfluence customer behavior. Scents and systems can be customized toreflect and complement various activities, events, brands, moods, orenvironments.

SUMMARY

In one general aspect, a scent delivery system includes a first scentdelivery unit associated with a first scenting location and configuredto deliver a first scent, a second scent delivery unit associated with asecond scenting location and configured to deliver a second scent, and acentral controller. The central controller is configured to generatecommand data that is configured to affect operation of at least thefirst and the second scent delivery units based on one or more scentingschedules. The central controller is also configured to determine arelatedness and an order of priority between the first and the secondscent delivery units, and determine whether a desired activation timefor the first scent delivery unit overlaps at least partially with adesired activation time for the second scent delivery unit. Based upon adetermination that the first scent delivery unit is related to thesecond scent delivery unit and that a desired activation time for thefirst scent delivery unit overlaps at least partially with a desiredactivation time for the second scent delivery unit, the centralcontroller is further configured to coordinate activity level of each ofthe first and second delivery units during the overlapping activationtime according to the order of priority.

Implementations may include one or more of the following features. Forexample, the central controller may be configured to coordinate activitylevel of each of the first and second delivery units during theoverlapping activation time by determining which of the first and thesecond delivery units to activate during the overlapping activation timeaccording to the order of priority and generating command data toactivate only one of the first and the second delivery units during theoverlapping activation time. The central controller may include adatabase that enables access to information identifying whether thefirst and the second scent delivery units are related. The centralcontroller may include a database that enables access to informationidentifying the order of priority between the first and the second scentdelivery units. The central controller may include a scheduler thatenables access to the scenting schedule for each of the first and thesecond scent delivery units, the scheduler including informationregarding whether the first and the second scent delivery units arerelated. The central controller may be configured determine therelatedness between the first and the second scent delivery units basedon a user-defined relatedness between the first and the second scentdelivery units. The central controller may be configured determine therelatedness between the first and the second scent delivery units basedon the first and the second scenting locations being equal. The centralcontroller may be configured determine the relatedness between the firstand the second scent delivery units based on the first and the secondscents being equal. The central controller may be configured determinethe relatedness between the first and the second scent delivery unitsbased on the first and the second scents being different.

Other embodiments of this aspect include corresponding methods andcomputer-readable storage mediums.

The details of one or more implementations described in thisspecification are set forth in the accompanying drawings and thedescription below. Other potential features and aspects of the subjectmatter will become apparent from the description, the drawings, and theclaims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a scent delivery system.

FIG. 2 is a flow chart of a process for activating a scent delivery unitwithin the scent delivery system.

FIG. 3 shows sample graphical windows illustrating inputting informationregarding a scent delivery unit.

FIG. 4 shows sample graphical windows illustrating inputting informationregarding a scheduled event.

FIGS. 5A, 5B, and 5C illustrate activation schedule timelines for twoscent delivery units.

FIG. 6 is a block diagram of an implementation of a central controller.

FIG. 7 is a flow chart of a process for activating a scent delivery unitin relation to the central controller of FIG. 6.

FIG. 8 is an implementation of a scent delivery unit.

FIG. 9 is another implementation of a scent delivery unit.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

A scent delivery system can include one or more scent delivery unitsthat are configured to release a fragrance or a scent in a controlledmanner. By distributing the one or more scent delivery units, ormachines, throughout a scenting environment, a desired scent profile canbe generated in the environment. In some scenting environments, such asa hotel, the desired scent profile can vary according to location withinthe space, time of day, day of the week, etc. By incorporating a networkcontrolled scent delivery system, a user can control the one or morescent delivery units, either individually or as a group, through acentral controller. As further detailed below, multiple machines thatscent the same area can be prevented from being turned on simultaneouslyby being “linked” or “related” to each other. As a result, overscentingwithin particular areas may be prevented. In some cases, concurrentemission of conflicting or incompatible scents also may be prevented.

Referring to FIG. 1, a scent delivery system 100 includes a centralcontroller 102 that is connected to one or more scent delivery units 104across a network 106. The central controller 102 is configured tocontrol the activation and deactivation of each scent delivery unit 104based on a user-defined schedule. The central controller 102 can alsoinclude, or have access to, a database that contains information abouteach scent delivery unit 104. Such information may include, for example,the location and the scent type of each scent delivery unit 104.

The network 106 is configured to enable direct or indirectcommunications between the central controller 102, the scent deliveryunits 104, and a user device 108. Examples of the network 106 includethe Internet, Wide Area Networks (WANs), Local Area Networks (LANs),analog or digital wired and wireless telephone networks (e.g., PublicSwitched Telephone Network (PSTN), Integrated Services Digital Network(ISDN), and Digital Subscriber Line (xDSL)), radio, television, cable,satellite, and/or any other delivery or tunneling mechanism for carryingdata. In some implementations, the network 106 includes wired orwireless network systems including, but not limited to, wired Ethernet,Wi-Fi, and ZigBee. In some implementations, the network 106 may be madeup of direct connections, either wired or wireless, between the scentdelivery units 104 and the central controller 102.

Each scent delivery unit 104 is configured to deliver one or more scentsand includes a mechanism for releasing the one or more scents into theair. Each scent delivery unit 104 can also include a network module forcommunicating with the central controller 102 through the network 106.In some implementations, one or more scent delivery units 104 can beassociated with a separate network module to establish communicationwith the central controller 102. This way, for example, pre-existingscenting machines without networking capabilities may be deployed in thesystem 100 and controlled via the central controller 102. In someimplementations, the scent delivery units 104 can directly communicatewith each other, for example via a mesh network, so that establishingcommunication between each scent delivery unit 104 and the centralcontroller 102 may not be required.

In one implementation, each scent delivery unit 104 includes a scentreservoir and an atomizing device in fluid communication with the scentreservoir. In one example, the scent reservoir is a cartridge bottlecontaining scented liquid, for example a fragrant oil mixture, thatemits a desired scent for the particular scent delivery unit 104. Theatomizing device can be, for example, a venturi-type atomizer that usesa high velocity airstream, generated by an integrated or a separatecompressor, to draw in and atomize the liquid in the cartridge bottleinto small particles (e.g., under 10 microns in diameter) that can bedispersed into the air to generate the desired scent. Movement ofatomized scent particles within a scenting environment can further beaided by airflow generated by a heating, ventilation, and airconditioning (HVAC) system.

A level of scent (also referred to as an intensity of scent) associatedwith each scent delivery unit 104 may need to be adjusted depending onthe particular application and may be done so in one of several ways.For example, the pressure and/or velocity of the atomizing air streamcan be increased to atomize and disperse more scent particles into theair, thus resulting in an increased scent level. Alternatively, precisecontrol of scent levels may be achieved by operating the scent deliveryunit 104 under a duty cycle. That is, by turning the scent delivery unit104 on and off successively in accordance with a duty cycle during thetime of activation, the total amount of scent particles released intothe environment, and therefore the scent level, can be preciselycontrolled. A cycle time of each scenting unit 104, i.e. the period oftime during which one on-off cycle occurs, may also be varied to achievea desired result. For example, given the same duty cycle, a scentingunit 104 operating under a long cycle time will result in a longer offtime between each cycle, thereby increasing the period during which acustomer may regain his/her olfactory sensitivity and helping to reduceodor fatigue that may result from prolonged exposure to scent.

As used herein, “scent level” may refer to a total number of scentparticles released in an environment during a given amount of time.Under this definition, a scenting scheme, for example, that constantlyreleases N number of particles into the environment per second duringactivation time T may be said to produce the same scent level as analternative scenting scheme in which 2×N number of particles per secondare released during time T under a duty cycle of 50%—since in bothcases, the same total number of scent particles would be released duringtime T. Under the latter scenting scheme, if the particles are releasedat a constant rate during the ON portion of the duty cycle, thenincreasing or decreasing the duty cycle would result in a correspondingchange to the scent level.

Notably, a strength of the scent as perceived by the user may be relatedbut not directly linked to the scent level. For example, even if thesame machine operates under different scent levels during multipleperiods of activation, the strength of the scent as perceived by theuser across such periods may not change. This is because a multitude ofother factors, such as temperature, humidity, type of scent, number ofpeople in the room, HVAC settings, etc., not to mention an individual'sscent perception abilities, may affect how strong a particular scent isperceived by the user within the particular scenting environment.

The central controller 102, which can be, for example, a rack mountableserver, is configured to maintain a database that includes informationabout each scent delivery unit 104 in the system 100. This informationcan include, for example, the physical as well as network location ofeach scent delivery unit 104 along with information about the type ofscent it contains. The database can also include, for example,information about a base scent level of each scenting unit 104, asspecified by, for example, its cycle time and duty cycle.

The central controller 102 also maintains a master schedule that can beaccessed by the user and that incorporates multiple scheduled events foreach scent delivery unit 104. Each scheduled event specifies controllogic to activate and deactivate the one or more scent delivery units104 during desired one or more time periods. The control logic mayactivate and deactivate the one or more scent delivery units 104individually and/or in user-defined groups. In one implementation, themaster schedule may refer to an aggregate of all scheduled events forall scent delivery units within the network controlled system 100. Themaster schedule may be stored in or otherwise accessible through thecentral controller 102. In some cases, the master schedule may refer toa group of particular scheduled events, for example, all scheduledevents pertaining to scent delivery units positioned in a certainlocation (e.g., a particular building, a particular floor of a building,or a particular room or set of rooms in a building). In some cases, themaster schedule may include a collection of other master schedules.

To program a desired scenting schedule for the one or more scentdelivery units 104, a user can access the central controller 102 throughuse of the user device 108. The user device 108 may be, for example apersonal computer or a mobile device. In some implementations, the userdevice 108 is configured to communicate with the central controller 102through the network 106. In some implementations, the user device 108may additionally or alternatively access the central controller 102 bydirectly connecting to it without going through a network. Notably,while only one user device 108 is shown in FIG. 1, it should beunderstood that the system 100 can include multiple user devices 108,each of which enables a different user to communicate with the centralcontroller 102 to, for example, schedule one or more scenting events.The one or more scenting events are compiled by the central controller102 into a master schedule, which, in some implementations, may bepresented in whole or in part to the user of the user device 108 tofacilitate event scheduling.

The central controller 102 can include a user interface component thatallows the user to make changes to the master schedule and to access andupdate the database that includes information about each scent deliveryunit 104. In some implementations, the user interface component is auser interface web component that allows the user to make changes to themaster schedule and to access and update the scent delivery unitdatabase over the World Wide Web.

Based on the master schedule and the machine-specific informationavailable from the database, the central controller 102 can generate aset of machine-specific command data that corresponds to the desiredschedule. In one implementation, the central controller 102 generates,for each scent delivery unit 104, command data that is made up of aseries of on and off commands, where the frequency and duration of theon and off periods are based on the specified cycle time and duty cycleof each scenting unit, and transmits this data in real-time to thecorresponding scent delivery units. In response to this command data,each scent delivery unit 104 may simply turn on (i.e., deliver scent) inreal-time in response to and upon receiving a “turn ON” command andturns off (i.e., not deliver scent) in real-time in response to and uponreceiving a “turn OFF” command. Alternatively, the central controller102 may generate, for each scent delivery unit 104, a single turn ONcommand that corresponds to a scheduled activation and a single turn OFFcommand that corresponds to a scheduled deactivation. Under this type ofcontrol scheme, the scent delivery unit 104 may be configured toconstantly deliver scent during the period of activation, instead ofbeing turned on and off successively according to a duty cycle.

In other implementations, the central controller 102 can generate andtransmit command data that contains all required information for eachscent delivery unit 104 to perform as scheduled (e.g., transmits commanddata directing the unit to activate from 1:30 pm to 3:30 pm onWednesday, July 7th using a scent cycle time of 300 seconds and a 50%scent duty cycle). Each scent delivery unit 104 can receive andindependently act on a command to activate during a certain time periodat a specified scent level. Notably, in these implementations, the scentdelivery units 104 may have additional processing and memorycapabilities that enable them to process the more complex command datareceived from the central controller 102. Also, the scent delivery unit104 may be configured to synchronize its activation and deactivationschedules with those of the other scent delivery units 104.

Because the master schedule can include many different scheduled eventsthat control multiple scenting units and can further be programmed atvarious times by multiple users, who may not necessarily know aboutscheduled events programmed by others, the master schedule may at timescontain operation instructions that are unpleasant or unattainable. Forexample, multiple users may inadvertently program multiple units in asmall room to all be activated at the same time, possibly resulting inoverscenting that can be unpleasant for the room's occupants. To preventthese and other undesirable operations, the central controller 102 mayat times automatically depart from the programmed schedule and generatealternative command data in accordance with pre-determined logic, asfurther detailed below.

In one implementation, the central controller 102 can includepre-determined logic to prevent scent delivery units that are “linked”or “related” to each other from being activated simultaneously. A scentdelivery unit, or machine, may be said to be related (or linked) toanother if a user makes a prior determination, for example, that thesetwo particular machines should not be activated at the same timeregardless of information contained in the scheduled events.

In an example scenario, a systems administrator may determine that scentdelivery unit A and scent delivery unit B, each of which is configuredto deliver a different scent to a same room, should not be activated atthe same time in order to prevent overscenting the room and exposing itsoccupants to unpleasantly high levels of scent. In this case, thesystems administrator may indicate to the central controller 102 thatunits A and B are related to each other. Because units A and B are nowrelated, the central controller 102 may be configured to preventconflicting events from proceeding as scheduled. An example of aconflicting event could be where a first scheduled event indicates thatunit A should be activated every Monday through Wednesday from 9:00 amto 5:00 pm while a second scheduled event indicates that unit B, whichis related to unit A, should be activated every Wednesday through Fridayfrom 3:00 pm to 10:00 pm. In this case, the two events may be said to bein conflict because an overlapping activation period occurs on everyWednesday from 3:00 pm to 5:00 pm.

In some implementations, in addition to or as an alternative to thesystem administrator directly indicating which machines are related, thecentral controller 102 may automatically identify any units that, forexample, share a location as being related. For example, the centralcontroller 102, upon receiving or otherwise accessing information thatunits A and B are both located in the same room, may determine, eitherdirectly or indirectly, that units A and B are related to each other. Insome implementations, the system administrator may manually set apreference with the central controller 102 that instructs the centralcontroller 102 to perform an automatic relatedness determination.

While the above example discloses an automatic relatedness determinationbeing performed by the central controller 102 based on determining thattwo units are collocated, the automatic relatedness determinationperformed by the central controller 102 (or the manual determination ofthe system administrator) may take into account one or more otherfactors in addition to or as an alternative to unit collocation. Forexample, scent delivery units that emit incompatible scents (e.g.,scents that are not pleasant when smelled at the same time) may bedefined or identified as being related. In another non-limiting example,scent delivery units that share a common power supply may be defined oridentified as being related, for example, to prevent the common powersupply from being overdrawn. In yet another non-limiting example, scentdelivery units that are installed in different locations but otherwiseemit scent to a same location (e.g., via the HVAC system) may be definedor identified as being related. In some cases, multiple machine-specificfactors may need to be considered to indicate relatedness. For example,two machines may be said to be related if they share the same locationbut are configured to emit a different scent, or alternatively the samescent.

The central controller 102 may access any or all of the above-notedinformation from a data store to be used as part of its automaticrelatedness determination. In some implementations, when the centralcontroller 102 does not automatically determine relatedness, it presentsany or all of the above-noted information to the system administrator ina user interface (e.g., one or more windows displayed in a graphicaluser interface (GUI)) to help the system administrator determine whetheror not to manually designate two units as being related.

FIG. 2 is a flowchart of an example process 200 in which the centralcontroller may prevent related scent delivery units from being activatedsimultaneously. Briefly, the process 200 includes receiving inputaddressing the activation of a first scent delivery unit (202) anddetermining whether the first scent delivery unit is “related” to anyother scent delivery unit or units, such as a second scent delivery unit(204). If there is relatedness, a further determination is made as towhether there is any overlapping activation period between the first andsecond scent delivery units (206). Based on determinations made inoperation 204 and/or operation 206, the central controller may generateand/or send command data to activate the first scent delivery unitaccording to the received input (208). Alternatively, the centralcontroller may generate and/or send command data to activate only one ofthe first and second units during the overlapping activation periodaccording to an order of priority between the first and second units(210).

Here, generating command data may include generating a set ofmachine-specific instructions that incorporates all scheduled events fora given machine and instructs said machine when to turn on and off. Insome implementations, the generated command data may be stored in amachine-specific table of instructions that does not lead to conflictingmachine behavior. In some implementations, generating command data mayinclude updating and/or revising the master schedule of events toeliminate instances of conflicting machine behavior.

Sending command data may include transmitting the generated command datato the one or more scent delivery units across a network (e.g., network106). In some implementations, the command data may be sent in real-timeas they are generated. Alternatively, or additionally, the command datamay be sent at predetermined time intervals, e.g., once every minute. Insome cases, the command data may be sent in response to and uponreceiving instructions from the user. In other cases, the command datamay be sent in response to and upon receiving a query for instructions,e.g., from the scent delivery unit.

In one implementation example, the process 200 of FIG. 2 may beimplemented by the system 100 of FIG. 1. In this implementation, thecentral controller 102 may receive input addressing the activation of afirst scent delivery unit (202) when the user schedules a scenting eventthat includes the first scent delivery unit. For example, a user-enteredscheduled event may indicate that the first scent delivery unit shouldbe activated every Monday through Wednesday from 9:00 am to 5:00 pm. Insome cases, the user-entered scheduled event may indicate that a groupof scent delivery units, including the first scent delivery unit, shouldbe activated as scheduled. Either way, before the first scent deliveryunit can be activated according to the user input, the centralcontroller 102 will need to determine what command data should be sentto the first scent delivery unit.

In operation 204, the central controller 102 checks to see whether anyother scent delivery units are related to the first scent delivery unit.In one implementation, the central controller 102 may check to seewhich, if any, of the machines have been indicated by a user, systemsadministrator, manufacturer, etc. as being related. Alternatively, oradditionally, the central controller 102 may check to see which, if any,of the machines possess machine-specific factors that identify suchmachines as being related.

If the central controller 102 determines or otherwise identifies, inoperation 204, that the first scent delivery unit is not related to anyother scent unit or units, the central controller 102 will proceed togenerate, in operation 208, command data to activate the first scentdelivery unit based on the received input without making any changes tothe master schedule.

If the central controller 102 determines or otherwise identifies, inoperation 204, that the first scent delivery unit is related to a secondscent delivery unit (or to multiple other scent delivery units), theprocess 200 will proceed to operation 206. Here, the central controller102 determines or otherwise identifies whether there is any overlappingperiod of desired activation between the related scent delivery units.For example, if the central controller 102 determines or otherwiseidentifies that the scheduled activation time of the first scentdelivery unit does not overlap with the scheduled activation time of therelated second scent delivery unit, the central controller 102 willproceed to generate, in operation 208, command data to activate thefirst scent delivery unit based on the received input without making anychanges to the master schedule. Any scent delivery unit that wasdetermined to be related to the first scent delivery unit will continueto operate according to its previously set scheduled event.

If the central controller 102 determines or otherwise identifies, inoperation 206, that there is at least some overlapping period of desiredactivation between the related scent delivery units, the centralcontroller 102 will proceed to generate, in operation 210, command datato activate the related scent delivery units in a manner thatcompensates for the conflicting schedule.

For example, if the central controller 102 receives input, in operation202, from a newly entered scheduled event indicating that the firstscent delivery unit should be activated daily from 1:00 pm to 6:00 pm,and if the central controller 102 had hitherto been activating, based ona previously entered scheduled event, the second scent delivery unitdaily from 5:00 pm to 7:00 pm, the central controller 102 may try toresolve the conflict schedule (e.g., 5:00 pm to 6:00 pm) in one ofseveral ways.

In one implementation, the central controller 102 may receive orotherwise access information regarding the order of priority between therelated machines and proceed to, based on this order of priority,activate only the higher priority machine during the period ofoverlapping activation. For example, each scent delivery unit may beassociated with a rank such that, during the overlapping activationperiod, only the machine with a higher rank will either be activated orotherwise remain activated. In contrast, the machine with a lower rankwill be deactivated or otherwise remain deactivated. In some cases, theassociated rank may be predefined by the user, systems administrator,manufacturer, etc. Alternatively, the associated rank may merely reflectthe order in which the particular scent delivery unit data was enteredinto the central controller 102. In some cases, the associated rank maybe determined, either directly or indirectly, according to a predefinedalgorithm (e.g., machine with more scent materials remaining has thehigher rank, lookup table, etc.). In some cases, the order of prioritybetween related machines may be randomly generated. In some cases, twoor more machines may be associated with the same rank. In some cases, amachine may not be associated, either directly or indirectly, with anyrank.

In some implementations, two or more machines may have equal ranksand/or the order of priority may not be able to be determined. In suchcases, the central controller 102 may permit two or more such machinesto be simultaneously activated during the overlapping activation period.Alternatively, the central controller 102 may prevent two or moremachines from simultaneously activating during the overlappingactivation period.

In some implementations, the central controller 102 receives scentingevent data for one or more scent delivery units 104 from one or moreusers of user devices 108. The central controller 102 generates/updatesthe master schedule of events based on the received scenting event data.The central controller 102, upon identifying conflicting events withinthe master schedule, may adjust the command data, which is sent to theindividual scenting machines, to be free from conflict. Alternatively,the central controller 102 may generate a conflict-free master scheduleby first processing the received scenting event data to avoid conflictsin accordance with machine relatedness information. The centralcontroller 102 may subsequently send command data to the scent deliveryunits 104 in accordance with the conflict-free master schedule ofevents.

FIGS. 3 and 4 illustrate a series of exemplary GUI windows 300, 302, 400and 402 associated with the scent delivery system 100. The graphicalwindows 300, 302, 400 and 402 may be provided by the user interfacecomponent of the central controller 102 and may be accessed by one ormore users over, for example, the World Wide Web using a browserapplication resident on one or more of the user devices 108.

Referring to FIG. 3, the graphical windows 300 and 302 illustrate howdata pertaining to a particular scent delivery unit may be entered. Thedata may be maintained in a database contained within or otherwiseaccessible to the central controller 102 and may be accessed and/orupdated by one or more users, for example, through use of one or more ofthe user devices 108 across the network 106. The particular types andstyles of GUI input elements, i.e., entry boxes, check boxes, pull-downmenus, etc., as depicted in the exemplary windows are for illustrativepurposes only and may be altered as necessary depending on systemrequirements, user preferences, scenting environment, etc.

The graphical window 300 illustrates data entry pertaining to a scentdelivery unit named “Unit A,” as indicated in entry box 304. In the samewindow 300 or in another interface, the name Unit A may further beassociated with a network address or the like such that the centralcontroller 102 may send command data thereto in order to control Unit Aas dictated by the master schedule.

In pull-down box 306, the scent type associated with Unit A may beidentified. While the actual scent type that Unit A is able to emit willbe determined by what particular scent or scents are physicallyinstalled in the machine, entering the scent information here willenable the central controller 102 to keep track of which machine isconfigured to which scent. This information may inform themachine-relatedness determination noted below.

In similar fashion, pull-down box 308 can be used to identify theparticular location associated with Unit A. While the actual location ofUnit A is determined by where the machine is physically located,entering the scent information here will enable the central controller102 to keep track of where each machine is located. This informationalso may inform the machine-relatedness determination noted below.

Entry boxes 310 and 312 may identify, respectively, the desired scentcycle time and scent level percentage for Unit A. As noted above, undera duty cycle-based intensity control regime, scent cycle time refers tothe period of time during which one on-off cycle occurs while scentlevel percentage refers to the percentage of time during the cycle timein which the machine is turned ON (i.e., duty cycle). In some cases,data entries 310 and 312 may indicate a base scent level for thespecified delivery unit. The base scent level may refer to an optimalcycle time and/or scent level for the particular machine that takes intoaccount, for example, the machine's location, scent type, etc. to createthe desired scent effect. The base scent level may be determined at thetime of installation.

Check box 314 may be used to indicate whether the associated scentdelivery unit, in this case Unit A, is enabled. For example, checking“NO” for check box 314 may effectively take Unit A offline, allowing thecentral controller 102 to ignore any input concerning the activation ofUnit A. Referring briefly to the process 200 in FIG. 2, if there is asecond scent delivery unit that is related to the first scent deliveryunit, but if the second scent delivery unit is not enabled, then thecentral controller may proceed from operation 204 to operation 208 sinceno conflicting schedules between the two machines can occur. A user maynot want a unit to be enabled, for example, during repair of the unitand/or during scent cartridge replacement.

Check box 316 may be used to indicate a mode of operation, or run mode,of the particular machine. Here, “automatic” may refer to the mode inwhich the machine is operated in accordance with the master schedule asmaintained by the central controller 102. Accordingly, Unit A in thiscase will activate and deactivate based on conflict-free command datagenerated by the central controller 102. Setting the run mode to “ON” or“OFF” may be akin to manual override of the machine. In other words,selecting ON for entry 316 will immediately activate the machineregardless of the activation/deactivation schedule contained in themaster schedule. Likewise, selecting OFF for entry 316 will immediatelydeactivate the machine regardless of the master schedule. During amanual ON or OFF period, scheduled events to the contrary may not bepermitted by the central controller 102. In other words, a manualcontrol will have, under this scheme, priority over any previously orsubsequently added scheduled events.

As with scheduled events, immediate requests for activation and/ordeactivation may be sent by the central controller 102 as command data.In some cases, “automatic” may be a default setting for check box 316 towhich the selection will revert back after a period of time. Forexample, any selections of either ON or OFF may reset back to“automatic” every day at midnight, thereby returning the machine toautomatic, scheduled control. Accordingly, while disabling the machinevia entry 314 and manually turning off the machine via entry 316 canboth effectively take the machine offline, turning off the machine viaentry 316 will allow it to automatically revert back to automatic modeafter a period of time.

Referring briefly to FIG. 2, the process 200 for handling relatedmachines, as implemented by the central controller 102, may beconfigured to handle a manual ON command in one of several ways. In oneimplementation, the central controller 102 may treat a manual ON commandas merely a scheduled event that constantly activates the machine. Forexample, if the received input in operation 202 for the first scentdelivery unit is from a manual ON command, the process 200 may proceedas before to operations 204, 206 and/or 208. Notably, at operation 206,since the first scent delivery unit has been manually turned on, i.e.,constantly activated, there should always be at least some overlappingactivation period between the first and second units. Under thisimplementation, operation 210 may then be executed just as before,activating only one of the first and second scent delivery unitsaccording to the order of priority. As such, the first scent deliveryunit, which is under the manual ON command, may automatically deactivateduring the overlapping activation period if the second scent deliveryunit has a higher order of priority, only to turn back on after theoverlapping period expires. Of course, under this implementation, thefirst scent delivery unit will continue to remain on withoutinterruption if it has priority over the second scent delivery unit.

In an alternative implementation, the central controller 102 may treat amanual ON command as a constantly on scheduled event as in the aboveimplementation, but one that has priority over all other machinesregardless of the predetermined order of priority. For example, if thereceived input in operation 202 for the first scent delivery unit isfrom a manual ON command, and if the second scent delivery unit isrelated to the first scent delivery unit, the process 200 will proceedto operation 210 as described above. Under this alternativeimplementation, however, central controller 102 will always givepriority to the first scent delivery unit, given its manual ON status.Accordingly, the first scent delivery unit will always be activated,regardless of priority, instead of the second scent delivery unit duringthe overlapping activation period.

In another alternative implementation, the central controller 102 maytreat a manual ON command as an exception to the relatedness. In otherwords, a machine that has been turned on manually will not have animpact on or otherwise be impacted by the scheduled activation and/ordeactivation of related units. Thus, under this implementation, multiplerelated machines with different orders of priority may all be activatedsimultaneously.

If the first and second delivery units that are related both receive amanual ON command during an overlapping activation period, the centralcontroller 102 may resolve a conflict in one of several ways. In oneimplementation, both machines may be activated during the overlappingtime in accordance with the manual ON command, regardless of theirrelatedness or orders of priority. In another implementation, themachine that most recently received the manual ON command may gainpriority and be activated during the overlapping period, with themachine that first received the manual ON command becoming deactivatedduring the overlapping period. In another implementation, the machinethat first received the manual ON command may gain priority and remainactivated during the overlapping period, while the machine that morerecently received the manual ON command may be prevented from beingactivated. In another implementation, only one of the two machines thatreceived the manual ON command may be activated during the overlappingperiod according to the previously discussed order of priority betweenthe two machines, with the lower ranking machine either remainingdeactivated or being prevented from being activated during theoverlapping period of activation.

Referring again to the graphical window 300 in FIG. 3, pull-down box 318may be used to indicate a group to which a particular machine maybelong. As discussed further below in relation to the schedulingprocess, grouping multiple machines into a group may allow the user toquickly schedule a larger number of machines without having to enter aseparate event for each machine. Alternatively, or additionally, aseparate interface may be used to define various groups and the machinescontained therein.

The user interface operations described above for Unit A may be repeatedfor each scent delivery unit within the scent delivery system 100. Forexample, graphical window 302 illustrates how entry sections 324-338 maybe completed for another scent delivery unit, namely Unit B.

Pull-down box 320 illustrates one way of linking or relating machinestogether. As shown in FIG. 3, the pull-down box 320 may list allavailable scent delivery units that the user may designate as beingrelated, including Unit B. Once Unit A and Unit B are linked, pull-downbox 340 for Unit B may automatically list Unit A as being a relatedunit. In some cases, a separate interface may be used to link thevarious units together. In some implementations, entire groups may belinked to each other. For example, the graphical window 300 may includea pull-down menu for related group or groups, in which a user can selectwhich entire group of machines the particular machine will be relatedto. Entry boxes 322, 342 may be used to input information regarding failsafe time, which will be discussed further below.

In some implementations, any authenticated user may access the windows300 and 302 and change the data corresponding to all or some of the GUIinput elements in the windows 300 and 302. In other implementations,only an authenticated system administrator user can access the windows300 and 302 and change the data corresponding to all or some of the GUIinput elements in the windows 300 and 302. In these implementations, theother authenticated users may not be allowed to access the windows 300or 302, may be allowed to access the windows 300 or 302 but may not beallowed to change the data displayed in the windows, or may be allowedto access the windows 300 or 302 but may only change the datacorresponding to a subset of the GUI input elements (e.g., can onlychange the scent cycle time (i.e., entry box 310 and 330) and scentlevel % (entry box 312 and 332) displayed in the windows 300 and 302.

FIG. 4 shows an example GUI that includes graphical windows 400 and 402for creating scheduled events. In some implementations, anyauthenticated user that wishes to schedule a scenting event may interactwith windows 400 and 402 using a user device 108 to schedule a scentingevent. In other implementations, only an authenticated systemadministrator user is able to interact with windows 400 and 402 using auser device 108 to schedule a scenting event. In some implementations,any authenticated user that wishes to schedule a scenting event mayinteract with windows 400 and 402 using a user device 108 to providescenting event schedule data to the central controller 102 but onlyauthenticated system administrator users may interact with windows 300and 302 to provide unit-specific information to the central controller102.

As illustrated, the graphical window 400 creates a scheduled eventcalled “Event A” (404) for Unit A while the graphical window 402 createsa scheduled event called “Event B” (424) for Unit B. The user may createadditional scheduled events as needed by opening a scheduled eventinterface for each new event desired. In this example, informationpertaining to machines Unit A and Unit B correspond to informationentered for the same machines through interactions with the graphicalwindows 300, 302 in FIG. 3.

In further detail, by making selections in event type check boxes 406,426, the user can indicate the desired type of a scheduled event. Forexample, a “calendar” type event can allow the user to choose days ofthe month as well as particular times of day during which machine ormachines identified in pull-down boxes 410, 430 should be activated. A“weekly” type event, on the other hand, can allow the user to choosedays of the week as well as particular times of day during which machineor machines identified in pull-down boxes 410, 430 should be activated.A weekly event, because it can be repeated week to week, may also bereferred to as a recurring event. As illustrated in the graphicalwindows 400, 402, selecting the “weekly” option in entry 406 can causethe windows 400, 402 to display check boxes 412, 432 that allow the userto specify days of the week during which the machine or machines shouldbe activated. The “on time” entries 414, 434 and “off time” entries 416,436 indicate, respectively, the time at which the machine or machinesshould be activated and at which they should be deactivated. In somecases, each graphical window may include multiple on/off times tospecify multiple activation periods in a single day.

In addition to allowing the user to specify operating conditions forindividual machine or machines, group/unit check boxes 408, 428 canallow the user to specify operating conditions for a group of machines.For example, while choosing “unit” in entry sections 408, 428 may causepull-down menus 410, 430 to list all networked scent delivery units,choosing “group” instead in entry sections 408, 428 may cause pull-downmenus 410, 430 to list all groups of machines previously identified.This way, multiple scent delivery units associated with a group (e.g., a“Lobby Group” that includes all machines located in the lobby) may bequickly scheduled through a single scheduled event. As will be discussedbelow, entries 418, 438 may be used to input a desired bias settingwhile boxes 420, 440 may be used to indicate whether or not the instantscheduled event is an anti-event.

FIGS. 5A-5C show plots 500, 508, and 514 of activation scheduletimelines for exemplary Units A and B. In some implementations, thecentral controller 102 is able to provide unit-specific plot data to auser device 108 to enable the device 108 to display a GUI to the userthat includes plots depicting activation schedule timelines for one ormore scent delivery units. Such plots enable a user to quickly,at-a-glance, see and compare unit activation and deactivation periods ofone or more machines concurrently.

Referring to FIG. 5A, plot 500 shows activation schedule timelines forUnit A and Unit B according to programmed input as illustrated in FIG. 4(e.g., for Tuesday and Thursday). As shown by timeline 502, Unit A isscheduled to activate from 9:30 am to 2:30 pm. Similarly, timeline 504shows that Unit B is scheduled to activate from 12:00 pm to 4:30 pm. Inthis example, an overlapping activation period 506 can be observed from12:00 pm to 2:30 pm. During overlapping period 506, Unit A and Unit B,which were previously defined to be related (FIG. 3), are both scheduledto be activated. Accordingly, because Unit A and Unit B are relatedmachines, and because there is an overlapping activation period, thescheduled events for the two machines may be said to be in conflictduring the overlapping period 506.

Before generating and/or sending command data according to the masterschedule in order to activate and/or deactivate the individual scentdelivery units, the central controller 102 is configured to resolve anyconflicts observed in the scheduled events. Specifically, as describedin reference to operation 210 of the exemplary process 200 (FIG. 2), thecentral controller 102 will generate and/or send command data toactivate only one of the two scent delivery units during the overlappingactivation period.

Referring to FIG. 5B, plot 508 shows the actual generated command datafor the case where Unit A has priority over Unit B. As shown by timeline510, the activation schedule for Unit A, due to its higher priority, hasnot changed from what was entered into the corresponding scheduled eventby the user. In contrast, as shown by timeline 512, the activationscheduled for Unit B, due to its lower priority, has been modified bythe central controller 102 so that Unit B is not activated until afterthe overlapping period 506 has ended.

Alternatively, referring to FIG. 5C, plot 514 shows the actual generatedcommand data for the case where Unit B has priority over Unit A. Asshown by timeline 516, the activation schedule for Unit B, due to itshigher priority, has not changed from what was entered into thecorresponding scheduled event by the user. In contrast, as shown bytimeline 518, the activation scheduled for Unit A, due to its lowerpriority, has been modified by central controller 102 so that Unit A isdeactivated before commencement of the overlapping period 506.

Accordingly, under either of the scenarios depicted in FIGS. 5B and 5C,related machines Unit A and Unit B will not be activated at the sametime, despite existence of scheduled events to the contrary. Notably,because only the command data, and not the actual scheduled events, wasmodified to resolve the conflict at hand, the master schedule andcorresponding command data will revert back to the originalactivation/deactivation schedule as specified by the scheduled eventsupon subsequent removal or revision of scheduled events that removes theconflict. For example, referring again to the example scenario depictedin FIGS. 3 and 4, if the scheduled activation time for Unit B wererevised by the user to be 3:00 pm to 5:00 pm, the overlapping period 506between Unit A and Unit B will be eliminated. As such, the centralcontroller 102 will correspondingly generate command data to operateboth units as originally specified in the scheduled events shown in FIG.4.

In one implementation, as illustrated in FIG. 5C, the central controller102 may eliminate any overlapping activation time by deactivating alower priority machine (e.g., Unit A) and immediately activating ahigher priority machine (e.g., Unit B). Similarly, as illustrated inFIG. 5B, the central controller 102 may eliminate any overlappingactivation time by immediately activating a lower priority machine(e.g., Unit B) once the higher priority machine (e.g., Unit A) completesits scheduled time of activation. In either case, there may be little tono period of no scenting by both machines. That is, the end ofactivation of one machine may be immediately followed by the start ofactivation of the related machine.

In an alternative implementation, the central controller 102 mayautomatically add periods of rest between adjacent periods of relatedmachines to, for example, allow scent from the previous machine tosufficiently dissipate before scent from the next machine is emitted.For example, referring to FIG. 5B, the central controller 102 may adjustthe end time of Unit A (e.g., 2:30 pm) and/or the start time of Unit B(e.g., 2:30 pm) such that there is a gap between the two times. Forexample, the central controller 102 may send command data to deactivateUnit A at 2:29 pm while sending command data to activate Unit A at 2:31pm. This way, referring to the example scenario of FIG. 3, the pineapplescent of Unit A and the leather scent of Unit B, which may be consideredto be incompatible with each other, will not persist in the same spaceat the same time. That is, the added rest time may allow scent particlesfrom Unit A to sufficiently dissipate from the scenting environmentbefore scent particles from Unit B are introduced.

A length of the automatically added rest period, as described above, mayvary according to a multitude of factors, including, but not limited to,scent type, dissipative properties of scent particles, length ofactivation period, type of room being scented, etc. Based on one or moresuch factors, the central controller 102 may be configured toautomatically calculate the appropriate rest period using a predefinedalgorithm. For example, a small room with high foot traffic (e.g.,lobby) may require less rest period than a large open space (e.g.,ballroom). Similarly, a short activation period may require less restperiod than a long activation period. Additionally, or alternatively,the central controller 102 may be configured to automatically calculateand implement the appropriate length of rest based on the scent levelbias of the preceding event. Alternatively, or additionally, the usermay be able to directly input the desired periods of rest that shouldprecede and/or proceed a particular activation period.

Referring to FIG. 6, a block diagram 600 illustrates an exemplaryimplementation of the central controller 102 (FIG. 1). As shown,exemplary central controller may be largely divided into two components:scheduler 602 and database 604. Here, the scheduler 602 is mainlyresponsible for the scheduling and controlling of individual scentdelivery units while the database 604 stores or otherwise makesaccessible data pertaining to each scent delivery unit in the system.For example, contents of the graphical windows 300, 302 (FIG. 3) may bestored and maintained in the database 604.

In further detail, the scheduler 602 can include a schedule controlsection 606 and a scent delivery unit control section 610. In thisimplementation, the schedule control section 606 is configured toreceive the desired scheduling information from the user, e.g., via oneor more scheduled events, and communicate with the database 604 asneeded to retrieve data pertaining to the scent delivery unit referredto in the one or more scheduled events. For example, in response to theentry of the scheduled event shown in graphical window 400, thescheduler control section 606 may query the database 604 to find out thenetwork location of Unit A and/or whether Unit A is related to anymachine.

The schedule control section 606 may be configured to perform aconflict-resolving process, such as process 200 (FIG. 2), in order togenerate command data that does not include simultaneous activation ofrelated machines. In one implementation, the generated command data maybe in the form of a list of instructions for each scent delivery unit inthe networked system 100. For example, in reference to FIG. 5B, the listof instructions for Unit A may include (i) turning on at 9:30 am and(ii) turning off at 2:30 pm. Similarly, referring again to FIG. 5B, thelist of instructions for Unit B may include (i) turning on at 2:30 pmand (ii) turning off at 4:30 pm. Here, even though the scheduled eventsas entered by the user included an overlapping activation time betweenrelated machines Unit A and Unit B, the schedule control section 606 canresolve the conflict by modifying the actual command data that isgenerated, as described in reference to process 200 (FIG. 2). Theschedule control section 606 may output this conflict-free list ofinstructions to an out table 608. The out table 608 can be configured tostore the updated list of instructions for each machine in the system.The out table 608 may be updated following the addition, deletion,and/or revision of a scheduled event. Alternatively, or additionally,the schedule control section 606 may update the out table 608periodically according to a pre-determined schedule (e.g. every minute)regardless of whether any changes were made to the scheduled events.

In another implementation, the out table 608 may include real-timeinstructions for the scent delivery units. That is, the list ofinstructions may simply instruct the machine to, for example, turn onand start operating at the given cycle time and scent level. Inresponse, the machine may continue to operate at the given duty cycleuntil a subsequent instruction received from the out table 608 instructsthe machine to turn off. In this implementation, the scent deliveryunits may require minimal intelligence and functionality.

The scent delivery unit control section 610 may be configured todirectly implement a communication protocol between the centralcontroller and the individual scent delivery units. For example, thescent delivery unit control section 610 may be configured to simply readoff instructions from the out table 608 and broadcast them one by one toeach of the network-controlled scent delivery units. In some cases, thescent delivery unit control section 610 may be configured to verifyproper data communication by receiving verification signals from theindividual scent units. Such verification signals may be received andstored in an in table 612. The in table 612 may send or otherwise makeaccessible the verification information to the schedule control section606, such that a user may receive real-time status updates of eachmachine out in the field.

As noted above, a master schedule can refer to an aggregate of allscheduled events and may be maintained by the central controller 102. Inone implementation, master schedule data is updated by user input atunpredictable times (e.g., when the user decides to add/update/remove ascheduled event). Updated master schedule data may then be processed bythe schedule control section 606 in real-time (e.g., once every fewseconds), in response to and upon detection of user input of a new ormodified scheduled scenting event, or at predetermined time intervals(e.g., once every 5 minutes) to generate/update non-conflictingmachine-specific instruction tables. The machine-specific instructiontables are a list or grouping of instructions with correspondingexecution time information for a specific machine. The machine-specificinstruction tables for all machines in the system may be aggregated intothe out table 608. The instructions for a corresponding machine'soperation included in a particular machine-specific instruction tablemay indicate operations that need to be performed by the machine over arelatively long period of time (e.g., a day, a week, or a month).

In one implementation, the scent delivery unit control section 610receives the out table 608, which contains the non-conflictingmachine-specific instruction tables, and sends out each machineinstruction (e.g., “turn on” instruction) at its appropriate time toeach respective machine based on the out table 608 (e.g., by processingthe table). The delivery of an instruction may occur in real-time (e.g.,a “turn on” instruction is sent in real-time, which results in themachine turning on in response to and upon receipt of the instruction).This implementation allows scent delivery units with little intelligenceto be used. However, this implementation may also have greatersensitivity to connection failures, given that it may require arelatively continual and uninterrupted connection between the centralcontroller and the units to operate properly.

In an alternative implementation, delivery of instructions from thescent delivery unit control section 610 may occur ahead of time (e.g., a“turn on at 6 pm” instruction being sent at 5 pm). In some cases, thescent delivery unit control section 610 may simply send thenon-conflicting machine-specific tables (or the updated portions of thesame) to each of their respective machines for processing. In thesecases, the machines are intelligent units able to process the tableswith their own internal and synchronized clocks. This implementation maybe less sensitive to connection errors because the instructionsgenerally do not need to be continually sent in real-time for properoperation. This implementation, however, requires more intelligent scentdelivery units that have additional processing capabilities to processthe instructions at their appropriate times in synchronicity with theother scent delivery units (e.g., scent delivery units that each havetheir own clock that may include circuitry to synchronize the clock withthe clocks of the other scent delivery units and that each have theprocessing capabilities to interpret and execute more complex receivedinstructions).

In some implementations, updated master schedule data may be processedby the schedule control section 606 in real-time (e.g., once every fewseconds) in response to and upon detection of user input of a new ormodified scheduled scenting event, or at predetermined time intervals(e.g., once every 5 minutes) to generate/update a second version of themaster schedule that is non-conflicting. Notably, in someimplementations, this second version may be saved as separate data fromthe conflicting master schedule data to allow the conflicting masterschedule data to be preserved intact for subsequent processing based onnew user input. In other implementations, the second version mayoverwrite the master schedule data and become a new master schedule dataused for future processing based on new user input. Theseimplementations, however, may be less preferable in that they may limitthe ability to recover the original user-inputted scenting event datawhen conflicts subsequently change (e.g., go away) as a result ofsubsequent user input.

In some implementations, the updated, non-conflicting master scheduledata may be sent directly by the scent delivery unit control section 610to each scent delivery unit for processing. Each scent delivery unit inthis implementation has intelligence to directly process the masterschedule at clock times that are synchronized with that of the otherunits.

In some implementations, the schedule control section 606 may processthe updated, non-conflicting master schedule data (i.e., the secondversion of the master schedule data) to generate non-conflictingmachine-specific instruction tables that are subsequently sent to eachrespective machine. Here, no conflict-resolving processes are requiredto generate the machine-specific instruction tables since the masterschedule itself has been updated to be conflict-free. As describedabove, such machine-specific instructions may be sent out in real-timeto less intelligent scent delivery units or may be sent out ahead oftime to more intelligent scent delivery units.

FIG. 7 is a flowchart of an example process 700 in which the centralcontroller may prevent related scent delivery units from being activatedsimultaneously. While process 700 may be implemented by various systems,explanation of the exemplary process 700 is given in relation to thecontroller described in FIG. 6. While the process 700 is described inrelation to two scent delivery units, namely first and second deliveryunits, any number of scent delivery units may be processed in a similarmanner.

The schedule control section 606 is configured to receive inputaddressing the desired activation of first and second scent deliveryunits (702). For example, as illustrated in graphical windows 400, 402(FIG. 4), two separate scheduled events, each including a desiredactivation schedule for each machine, may be received by the schedulecontrol section 606. The two separate scheduled events may be receivedconcurrently, or at different times.

The schedule control section 606 is configured to determine whether thefirst and second scent delivery units, which were identified inoperation 702, are related (704). To make this determination, theschedule control section 606 may query the database 604 to see whetherthe user has defined the two machines as being related. Additionally oralternatively, the schedule control section 606 may execute an automaticrelatedness determination algorithm to determine whether the twomachines satisfy one or more conditions associated with relatedmachines. For example, the schedule control section 606 may check to seewhether the first and second scent delivery units are associated withthe same location, share a same HVAC system, share a same power supply,and/or have incompatible scents.

In some implementations, the results of the automatic relatednessdetermination may take priority over any designation of relatednessmanually inputted by a user such that a user designation of relatednessmay be automatically overridden by the control section 606 (i.e., suchthat the machines are deemed not related) when the relatedness algorithmdetermines that no relatedness condition is satisfied for the machinesidentified by the user as being related. In other implementations, theresults of the automatic relatedness determination may act as a defaultrelatedness between machines that may be overridden by a manualuser-designation of relatedness between machines. In someimplementations, a preference may be set by a system administrator userto set the automatic relatedness determination as either overridingmanual user-designations of relatedness or as being the defaultdetermination that may instead be overridden by manual user-designationsof relatedness.

If the schedule control section 606 determines during operation 704 thatthe first and second scent delivery units are not related, the schedulecontrol section 606 may generate command data, for example in the formof a list of instructions outputted to the out table 608, that directlymirrors the desired activation times indicated in the received scheduledevents. Such command data may subsequently be sent to appropriate scentdelivery units or units by the scent delivery unit control section 610(706). In some cases, the command data may be in the form of networkpackets or other suitable data formats that can be communicated acrossthe network 106. The one or more scent delivery units 104 are configuredto receive such data (708) and operate (i.e., turn on or off) based onthe received data (710). In some implementations, the one or more scentdelivery units may send a confirmation signal back to the scent deliveryunit control section 610 (712), to indicate, for example, that the sentdata has been properly received and/or that the machines are functioningproperly. The scent delivery unit control section 610 may then updatethe current status of each machine by, for example, appropriatelypopulating the in table 612 (714).

If the schedule control section 606 determines during operation 704 thatthe first and second scent delivery units are related, a furtherdetermination will be made regarding whether there is any overlappingperiod of desired activation between the first and second scent deliveryunits (716). If no overlapping period of activation is identifiedbetween the first and second scent delivery units, the process 700proceeds to operation 706 by generating command data that directlymirrors the desired activation times indicated in the received scheduledevents.

If the schedule control section 606 determines or otherwise identifies,in operation 716, that there is at least some overlapping period ofdesired activation between the related scent delivery units, theschedule control section 606 will proceed to generate command data toactivate the related scent delivery units in a manner that compensatesfor the conflicting schedule as described above with respect to process200. This conflict-free command data will then be sent by the scentdelivery unit control section 610 (718) to the scent delivery units. Theone or more scent delivery units will subsequently receive and act onthe data as described above regarding operations 710-714.

Notably, the order of operations depicted in FIG. 7 is not limiting andmay be modified or reversed. For example, operations 704 and 716 neednot occur in the order depicted in FIG. 7. In some implementations,operation 716 occurs before operation 704 such that a relatednessdetermination is only made when and if an overlap in activation time oftwo machines is detected. In some implementations, operations 704 and716 may occur in parallel (i.e., simultaneously) with an additionaloperation determining whether both relatedness and overlap exists inorder to identify the appropriate command data to be sent to the firstand second units.

FIG. 8 shows an exemplary scent delivery unit 800. The scent deliveryunit 800 may be used as a standalone system, or may be used as part ofthe networked scent delivery system 100. Briefly, the scent deliveryunit 800 includes a diffusion head 802 that is mounted on a cartridgebottle 804. Scented liquid is stored within the bottle 804 and can beatomized into the atmosphere via the head 802. The diffusion head 802may comprise a venturi-type atomizer.

In one implementation, each scent delivery unit 104 includes a scentreservoir and an atomizing device in fluid communication with the scentreservoir. In one example, the scent reservoir is a cartridge bottlecontaining scented liquid, for example a fragrant oil mixture having adesired scent for the particular scent delivery unit 104. The atomizingdevice can be, for example, a venturi-type atomizer that uses a highvelocity airstream generated within a control unit 806 to draw in andatomize the liquid in the cartridge bottle 804 into small particles(e.g., under 10 microns in diameter) that can be dispersed into the airvia a nozzle 808. The control unit 806 may include a network receiver orthe like to receive command data sent by the central controller 102(FIG. 1).

FIG. 9 shows an alternative scent delivery unit 900. The scent deliveryunit 900 may be a canister type machine that includes a wickingstructure impregnated with fragrance material. Airflow through the scentdelivery unit 900, for example generated by an on-board fan, can helpevaporate and release the fragrance into the environment. Controlelectronics, network receiver, and other electrical/mechanicalcomponents may be included within a casing of the scent delivery unit900.

Scent delivery units 800 and 900 represent just two of many differenttypes of scent delivery technologies that may be used with the scentdelivery system 100. Other types of scent delivery technologies mayinclude evaporative systems based on natural convection. Evaporativesystems may use scents from fragrance carriers such as liquid fragranceoil suspended in porous media including, but not limited to,woven/non-woven fabrics, papers felts, wood-like materials, porousplastics, foams, sponges, screens and wool-like materials. In somecases, fragrant compounds used in evaporative systems may beincorporated in semi-solids such as gels or may be absorbed into theintermolecular structure of nonporous materials such as plastic beads,fibers, or films. Evaporative systems may release scent when fragrancecarriers/evaporative media contained therein are exposed to air. Scentdelivery technologies may also include forced convection-type devicesthat rely on forced convection produced by fans or directed compressedair (e.g., from pumps or pressurized tanks) to enhance the release ofscent from the above-noted evaporated media. Alternatively oradditionally, heat energy (e.g., radiant heat from a candle orconvective heat from a heated blower) may be incorporated to increasethe rate of fragrance evaporation. Scent delivery technologies may alsoinclude direct diffusion-type devices where fragrance compounds aredirectly diffused into the air through various forms of atomizers toproduce a wide range of desired particle sizes. An atomizer may be inthe form of hydraulic spray nozzles configured to directly releasehigh-velocity liquids, liquid-liquid impinging atomizers configured tocollide liquid streams, and air-liquid impinging atomizers such asbubble tanks, airblast atomizers, prefiliming atomizers, andventuri-type atomizers. An atomizer may be a mechanical atomizer thatrelies on spinning discs or vibrating structures, for example, todeliver scent. For example, piezoelectric transducers may be used toatomize liquid oils via ultrasonic surface wave effects, or through theuse of microscopically perforated vibrating mesh (VMT). In some cases,high voltage can be used in an electrospray device, where electrostaticforces can cause the expulsion and dispersal of tiny volumes of liquidfrom a single fine orifice or a brush like structure of multiple points.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure.

For example, while the above-described implementations assume a singleunit or machine corresponds to a single, physical piece of equipmentthat produces a single scent (e.g., Unit A may correspond to a single,physical scent delivery machine that includes a single cartridge bottlecontaining a single Pineapple scent), it should be understood that inother implementations a single, physical piece of equipment may beconfigured to produce many different scents, either concurrently and/orserially, and, therefore, may correspond to multiple different of theabove-described machines or units (e.g., Unit A corresponds to the firstcartridge bottle of a single physical piece of equipment that contains aPineapple scent and Unit B corresponds to a second cartridge bottle ofthe same single physical piece of equipment that is configured toproduce a leather scent). Accordingly, in implementations in which asingle, physical piece of equipment may deliver different scents (e.g.,through different cartridges), the single, physical piece of equipmentmay be treated as if it were multiple of the above-described differentunits or machines. In such implementations, a machine may refer to thesingle, physical piece of equipment while a unit may refer to each ofthe corresponding above-described different units or machines that maybe collocated, sharing the same power and same HVAC, emitting adifferent, single scent, etc.

Additionally, while the above-described implementations assume a scentdelivery unit or a machine includes one or more of the above-noted scentdelivery technologies, it should be noted that the scent delivery unitor machine may correspond to any element, including hoses, nozzles, andorifices, that can deliver scent in accordance with a schedulemaintained by the central controller.

As described above, a conflict arising from two related machines beingscheduled to activate at the same time, which can lead to undesirablesituations such as overscenting, may be resolved by activating only thehigher priority machine while deactivating (or not activating) the lowerpriority machine. In an alternative implementation, the centralcontroller 102 may address the conflict by adjusting the parameters ofone or both of the conflicting machines to reduce or eliminate anyundesirable effects of the conflict. For example, during the overlappingactivation period between two machines that may lead to undesirableoverscenting, both machines may still be activated but at reduced levelsso as to reduce the overscenting effects. Alternatively, oradditionally, the central controller 102, or other components within thesystem 100, may further analyze the scent level produced by each machine(or other machine-specific parameters) to determine what, if any,actions should be taken to resolve the conflict. For example, if thehigher priority machine during an overlapping activation period is setto emit scent at a low intensity, then the central controller 102 may goahead also activate the lower priority machine since overscenting maynot likely occur given the low scent intensity of the higher prioritymachine.

In some implementations, as noted above, multiple related machines mayhave equal priority or, in some cases, no priority at all. In an exampleof such a case, the central controller 102 may resolve any resultingschedule conflicts by generating an averaged or otherwise harmonizedcommand data that reduces any undesirable effects arising from theconflict. For example, if related units A and B have been identified,either directly or indirectly, as having an equal order of priority, andif both units A and B are scheduled to activate at the same time,thereby resulting in a schedule conflict, the central controller 102may, for example, reduce the scent output of both machines by 50% sothat overscenting and/or other undesirable effects may be prevented. Insome cases, the activation of related units during the conflictingperiod may be alternated to, again, help prevent overscenting and/orother undesirable effects. Alternatively, machines having equal or nopriorities may be associated with a rank that is either randomlygenerated or determined indirectly through one or more machine-specificparameters (e.g., relative square footage, scent type, etc.). In suchcases, the central controller 102 may resolve any resulting conflictbased on procedures discussed above with respect to machines beingassociated with distinct priority levels.

In another implementation, the central controller 102 may allow a userto schedule an anti-event in much the same way that a regular scentingevent may be scheduled, with the anti-event capable of having priorityover regular events. This may be desirable, for example, if the userwishes to schedule ahead of time one or more periods of time duringwhich a particular location within the scenting environment will not besubjected to any scent delivery. In other words, the user might want toestablish a kind of a “scent exclusion period” for certain scentdelivery unit (or units) that may be associated with a particularlocation. It may also be desirable to schedule such a scent exclusionperiod, which also may be referred to as an anti-event, without havingto alter any of the multiple scheduled events that may happen to addressscent delivery directed to the time and location in question. To thisend, the central controller 102 may be configured to generate commanddata to create such a scent exclusion period in accordance withpre-determined logic without having to alter pre-existing, orsubsequently entered, scenting events.

One difference between an event and an anti-event may be that the eventis configured to schedule a period of activation for a machine while theanti-event is configured to schedule a period of non-activation. In thisway, a user may be able to use anti-events to quickly and easilyschedule ahead a scent exclusion period during which certain machine ormachines should not activate, regardless of other scheduled events thatmay indicate otherwise. Check boxes 420, 440 (FIG. 4) may be used forthis purpose. Additionally, if scent exclusion is no longer desired, auser may be able to revert back to control via the regular scentingevents by simply removing the anti-event.

In some implementations, a user may wish to create a scheduled eventthat deviates from a base scent setting for a machine. Here, the basescent setting may be a predetermined scent setting (e.g., cycle time andduty cycle) for a particular machine. In one example scenario, the usermay walk through the lobby during a particular scheduled activation timeand feel that the scent provided by a particular machine is too weak(i.e., should be perceived as being stronger). In this case, the usermay access the central controller 102 and update the base scent settingfor the responsible machine to, for example, have a higher scent level(e.g., by increasing the duty cycle). This, however, may impact otherscheduled scenting events that use the same machine, which may beundesirable. Alternatively, the user may access the central controller102 and update just the particular scheduled event during which thestronger scent is desired. Notably, unlike sound, light, temperature,etc., which have a desired setpoint that can be easily quantified (e.g.,decibel, lumen, degree Celsius, etc.), the desired perception of scentmay be harder to define. Accordingly, instead of setting an absolutescent setpoint, the user may, for example, associate the particularscheduled event with a positive or negative scent level bias to increaseor decrease, respectively, the associated duty cycle relative to thebase scent setting. Other scheduled events that control the same machinewithout indicating this bias will continue to operate according to thebase scent setting associated with the machine.

In this implementation, the base scent setting of each machine (e.g.cycle time and duty cycle) may be set at the time of installation andmay be optimized in view of the machine's location, scent type, etc. Forexample, the manufacturer, at the time of installation, may carefullyanalyze the particular scenting environment—through trial and error,internally developed metrics, instrumented analysis, or use of aprofessional perfumer, just to name a few methods—to come up with theideal base scent setting for a particular machine. However, duringnormal usage, a user may want to deviate from the base scent settingdepending on, for example, dynamic variables specific to a given scentevent (e.g., number of people in the room during the event, HVACsettings during the event, etc.). Such dynamic variables may not havebeen present or otherwise considered during the time of installation. Assuch, the user may schedule a desired scent event in consideration ofsuch dynamic variables by simply determining the appropriate bias valuerelative to the base scent level—without altering the base scent levelitself. For example, bias setting entry boxes 418, 438 (FIG. 4) canallow the user to input the desired scent level bias. Here, a scentlevel bias of 0 may indicate that the scheduled event should proceed ata scent level (e.g., duty cycle) associated with the base scent setting.A positive or a negative scent level bias may indicate that thescheduled event should proceed at a scent level that is higher or lower,respectively, in relation to the scent level associated with the basescent setting.

By using the scent level bias, the user may also be able to change thescent levels (e.g., by changing the duty cycle) of multiple machines,where each machine may be configured, via the base scent setting, tooperate at different cycle times and/or duty cycles. In such a case, theuser may indicate a single scent level bias that will correspondinglyalter the scent levels (e.g., duty cycles) of the multiple machineswhile preserving their base scent settings.

In some implementations, the central controller 102 may use anarithmetic function and/or a geometric function in applying the scentlevel bias to the base scent level. In some cases, the scent level bias,as inputted by the user, may be applied in a different manner by thecentral controller 102 depending on a machine-specific parameter and apre-defined algorithm related to said parameter. In one implementation,prior to being applied to the base scent level, the scent level bias maybe scaled up or down by a known amount in accordance with an algorithm.For example, a machine having one type of a scent may have the full biasapplied to its base scent level, while a different machine having adifferent type of a scent may have only half of the bias applied to itsbase scent level. In some cases, the scaling factor for the scent levelbias may vary depending on the base scent level. For example, thescaling factor may be inversely proportional to the base scent level. Inother implementations, the scaling factor for the scent level bias mayvary according to a known calibration curve for each machine and/orscent type.

In another implementation, each scent delivery unit may be associatedwith a fail safe time that indicates a maximum amount of time that amachine will remain on in the event of, for example, a communicationfailure that prevents the unit that has turned on from receiving a turnoff signal. As a result, overscenting by any particular machine due to alost signal within the network may be prevented. In some cases, the failsafe time for each machine may be determined by the user through, forexample, the fail safe entry boxes 322, 342 (FIG. 3). Alternatively, oradditionally, the fail safe time for each machine may be determinedautomatically by the central controller 102 according to a pre-definedalgorithm (e.g., fail safe time is proportional to the size of the roomin which the corresponding scent delivery unit is located).

As noted above, the central controller 102 is configured to generate andsend command data to control each scent delivery unit. In some cases,the fail safe time for each machine, defined manually and/orautomatically as described above, may be sent to the machine every timethat a turn on command is sent. For example, a command to turn on aparticular machine may be sent along with fail safe time data of 10minutes. In turn, the receiving machine may be configured to respond tothe fail safe time of 10 minutes by subsequently turning itself off 10minutes after turning on if no turn off command is received by thattime. That is, if the central controller 102 sends a turn off signal 1minute after having sent the turn on signal (e.g., as part of anactivation period that includes multiple cycles of on/off commands) butthe turn off signal becomes lost or is otherwise never received by themachine, the machine will nevertheless turn off automatically accordingto the fail safe time at the 10 minute mark if no other turn off signalsare received by then from the central controller 102. If the first turnoff signal is never received by the machine, but a subsequent turn onsignal with its own fail safe data is received before the end of theprevious fail safe time period, then the machine may be configured toturn off automatically according to the new fail safe time. If thesubsequently received turn on signal does not include a new fail safetime, the machine may revert back to and newly apply the previouslyreceived fail safe time. Because the fail safe time data is sent alongwith the command data, the fail safe time may be updated as needed basedon user preference and/or machine-specific factors. In some cases, thefail safe time may be sent periodically to the machine along with justsome of the command data sent to said machine. In some cases, thecentral controller 102 may be configured to send only turn on signals toeach scent delivery unit without sending any turn off signals. In such acase, the fail safe time may be sent along with each turn on signal sothat each unit will turn off by itself after a desired amount of timewithout having to receive an explicit turn off signal from the centralcontroller 102. In such a case, a turn off signal sent by the centralcontroller 102 may serve as a redundant process for ensuring that thescent delivery units will not overscent. In some cases, the fail safetime period may be shorter than the desired on period. In such a case,the central controller 102 may adjust and/or prompt the user to adjustthe fail safe time to be at least longer than the desired on period.

In another implementation, the central controller 102 may be configuredto introduce asynchronicity to the start times of multiple scentdelivery units that are scheduled to activate at the same time. As aresult, multiple command data that may otherwise have been transmittedsimultaneously to multiple machines may instead be spread out in time.Such artificially introduced asynchronicity may help prevent overloadingthe network and/or reduce power surges that may occur from multiplemachines being commanded to turn on simultaneously.

In one implementation, the central controller 102 may achieve thedesired asynchronicity by adding a different skew parameter to the starttime of each unit originally scheduled for a synchronous start. Forexample, given a predefined global skew parameter G (e.g., 0.1 seconds),the central controller 102 may add a different multiple of the globalskew parameter (e.g., O×G, 1×G, 2×G, 3×G, etc.) to each of multiplemachines that have been scheduled by the user to start scenting at thesame time (e.g., 4:00 pm). This way, each of the machines scheduled bythe user to activate at 4:00 pm will start at a slightly different time.

In another implementation, the central controller 102 may be configuredto compensate for unintended asynchronicity in multiple machines thatare configured to behave synchronously, especially under a dutycycle-based control scheme. As noted above, precise control of scentlevels may be achieved by turning each scent delivery unit on and offsuccessively in accordance with a specified duty cycle during saidunit's time of activation. Under this control scheme, a cycle time ofeach scenting unit may refer to the period of time during which oneon-off cycle occurs for a given machine while the duty cycle would referto the percentage of time during each cycle time during said machine isreleasing scent. By synchronizing the start of on-off cycles acrossmultiple machines, the perception of scent variation within a scentingenvironment may be maximized. In other words, if there are multiplemachines that are configured/programmed to be synchronized, the centralcontroller 102 may adjust the generation and/or transmission of commanddata to ensure that all on-off cycles for the three machines occur atthe same time. For example, if three machines A, B, and C are scheduledto activate at 4:00 pm based on a cycle time of 10 minutes and a dutycycle of, respectively, 50%, 40%, and 30%, then the central controller102 may generate command data, as discussed above, to turn on machinesA, B, and C at 4:00 pm and to subsequently turn off the machines at 4:05pm, 4:04 pm, and 4:03 pm, respectively. During the next on-off cycle,the central controller 102 may generate command data to turn on machinesA, B, and C at 4:10 pm and to subsequently turn off the machines at 4:15pm, 4:14 pm, and 4:13 pm, respectively. This cycling process willtypically continue until the scheduled deactivation time, with all threemachines starting each cycle at the same time. In some cases, however, asynchronously scheduled machine may drift from the synchronizedschedule. For example, machine B in the above scenario may start at adelayed start time of 4:01 pm due to a communication error, and this 1minute delay may be propagated to each subsequent on times (e.g., 4:11pm, 4:21 pm, etc.). Upon identifying the delay in machine B, under thesynchronous start implementation, the central controller 102 may alsodelay by 1 minute the start of each cycle for machines A and C. Thisway, machines A, B, and C will continue to turn on at the same time toachieve the desired scenting effect, regardless of any individualmachine delays that may have otherwise broken up the scheduledsynchronicity. In one implementation, the central controller 102 may beconfigured to identify delays in the machines by accessing thecorresponding verification information in the in table 612.

Accordingly, other implementations are within the scope of the followingclaims.

What is claimed is:
 1. A computer-implemented method for deliveringscents, comprising: establishing a communication network including acentral controller and one or more networked scent delivery devices,wherein the central controller is configured to control operation ofeach of the one or more networked scent delivery devices, and whereincontrolling the operation is based on one or more master schedules;generating command data that is configured to control the operation of anetworked scent delivery device of the one or more networked scentdelivery devices, wherein the command data is generated based on the oneor more master scenting schedules; transmitting the command data to thenetworked scent delivery device using the communication network;receiving a signal from the networked scent delivery device using thecommunication network, wherein the signal includes status datarepresenting a status of the networked scent delivery device; andstoring the status associated with the networked scent delivery device,wherein the status identifies a functionality of the networked scentdelivery device.
 2. The computer-implemented method for deliveringscents, as recited in claim 1, wherein the status data corresponding tothe networked scent delivery device indicates an operation status of thenetworked scent delivery device.
 3. The computer-implemented method fordelivering scents, as recited in claim 2, wherein the operation statusindicates whether or not the networked scent delivery device isoperating to deliver the scent.
 4. The computer-implemented method fordelivering scents, as recited in claim 2, wherein the operation statusindicates whether the networked scent delivery device is currentlyconnected to the communication network.
 5. The computer-implementedmethod for delivering scents, as recited in claim 1, wherein, when thecommand data is received at the networked scent delivery device over thecommunication network, the networked scent delivery device is controlledin accordance with the command data.
 6. The computer-implemented methodof delivering scents, as recited in claim 5, wherein controlling thenetworked scent delivery device includes activating the networked scentdelivery device to deliver the scent in accordance with the commanddata.
 7. The computer-implemented method of delivering scents, asrecited in claim 5, wherein controlling the networked scent deliverydevice includes deactivating the networked scent delivery device, suchthat delivery of the scent is deactivated in accordance with the commanddata.
 8. A system for delivering scents, comprising: one or more dataprocessors; and a non-transitory computer-readable storage mediumcontaining instructions which, when executed on the one or more dataprocessors, cause the one or more data processors to perform operationsincluding: establishing a communication network including a centralcontroller and one or more networked scent delivery devices, wherein thecentral controller is configured to control operation of each of the oneor more networked scent delivery devices, and wherein controlling theoperation is based on one or more master schedules; generating commanddata that is configured to control the operation of a networked scentdelivery device of the one or more networked scent delivery devices,wherein the command data is generated based on the one or more masterscenting schedules; transmitting the command data to the networked scentdelivery device using the communication network; receiving a signal fromthe networked scent delivery device using the communication network,wherein the signal includes status data representing a status of thenetworked scent delivery device; and storing the status associated withthe networked scent delivery device, wherein the status identifies afunctionality of the networked scent delivery device.
 9. The system fordelivering scents, as recited in claim 8, wherein the status datacorresponding to the networked scent delivery device indicates anoperation status of the networked scent delivery device.
 10. The systemfor delivering scents, as recited in claim 9, wherein the operationstatus indicates whether or not the networked scent delivery device isoperating to deliver the scent.
 11. The system for delivering scents, asrecited in claim 9, wherein the operation status indicates whether thenetworked scent delivery device is currently connected to thecommunication network.
 12. The system for delivering scents, as recitedin claim 8, wherein, when the command data is received at the networkedscent delivery device over the communication network, the networkedscent delivery device is controlled in accordance with the command data.13. The system for delivering scents, as recited in claim 12, whereincontrolling the networked scent delivery device includes activating thenetworked scent delivery device to deliver the scent in accordance withthe command data.
 14. The system for delivering scents, as recited inclaim 12, wherein controlling the networked scent delivery deviceincludes deactivating the networked scent delivery device, such thatdelivery of the scent is deactivated in accordance with the commanddata.
 15. A computer-program product tangibly embodied in anon-transitory machine-readable storage medium, including instructionsconfigured to cause a data processing apparatus to perform operationsincluding: establishing a communication network including a centralcontroller and one or more networked scent delivery devices, wherein thecentral controller is configured to control operation of each of the oneor more networked scent delivery devices, and wherein controlling theoperation is based on one or more master schedules; generating commanddata that is configured to control the operation of a networked scentdelivery device of the one or more networked scent delivery devices,wherein the command data is generated based on the one or more masterscenting schedules; transmitting the command data to the networked scentdelivery device using the communication network; receiving a signal fromthe networked scent delivery device using the communication network,wherein the signal includes status data representing a status of thenetworked scent delivery device; and storing the status associated withthe networked scent delivery device, wherein the status identifies afunctionality of the networked scent delivery device.
 16. Thecomputer-program product, as recited in claim 15, wherein the statusdata corresponding to the networked scent delivery device indicates anoperation status of the networked scent delivery device.
 17. Thecomputer-program product, as recited in claim 16, wherein the operationstatus indicates whether or not the networked scent delivery device isoperating to deliver the scent.
 18. The computer-program product, asrecited in claim 16, wherein the operation status indicates whether thenetworked scent delivery device is currently connected to thecommunication network.
 19. The computer-program product, as recited inclaim 15, wherein, when the command data is received at the networkedscent delivery device over the communication network, the networkedscent delivery device is controlled in accordance with the command data.20. The computer-program product, as recited in claim 19, whereincontrolling the networked scent delivery device includes activating thenetworked scent delivery device to deliver the scent in accordance withthe command data.